// pages/search/search.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        perPageCount: 20, //每页显示个数 
        goodsList: [], //放置返回数据的数组 
        isFromFirst: true,   // 用于判断searchWorkList数组是不是空数组，默认true，空的数组  
        pageNo: 1,   // 设置加载的第几次，默认是第一次  
        dataLoadingComplete: false,  //“没有数据”的变量，默认false，隐藏
        searchContent: '',
        noDataType: 0 //0表示未搜索 1已搜索，但没内容 2表示搜索出内容
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        let that = this;
        if (!that.data.dataLoadingComplete) {
            var _pageNo = that.data.pageNo + 1;
            that.setData({
                pageNo: _pageNo,  //每次触发上拉事件，把pageNo+1  
                isFromFirst: false  //触发到上拉事件，把isFromSearch设为为false  
            });
            that.searchData(_pageNo);
        }
    },

    bindInputContent: function(e) {
        this.setData({
            searchContent: e.detail.value
        })
    },

    searchDataTab: function(e) {
        let _pageNo = 1;
        this.setData({
            pageNo: _pageNo,
            goodsList: [],
            dataLoadingComplete: false,
            isFromFirst: true  //触发到上拉事件，把isFromSearch设为为false  
        });
        this.searchData(_pageNo);
    },

    searchData: function (_pageNo) {
        var that = this;
        var params = {
            userID: app.globalData.userID,
            keyword: this.data.searchContent,
            type: 0,
            pageNo: _pageNo
        }
        app.network.requestPost(app.route.ROUTE_SEARCH_RESULT, params, '正在获取数据', function (res) {
            //res就是我们请求接口返回的数据
            if (res.success) {
                var _goodsList = res.context.goodsList;
                let list = [];
                if (_goodsList.length != 0) {
                    that.data.isFromFirst ? list = res.context.goodsList : list = that.data.goodsList.concat(res.context.goodsList);
                    if (that.data.perPageCount > _goodsList.length) {
                        that.setData({
                            noDataType: 2,
                            goodsList: list, //获取数据数组  
                            dataLoadingComplete: true //把“没有数据”设为true，显示 
                        });
                    } else {
                        that.setData({
                            noDataType: 2,
                            goodsList: list //获取数据数组   
                        });
                    }
                } else {
                    if (_pageNo == 1) {
                        that.setData({
                            noDataType: 1,
                            goodsList: list, //获取数据数组 
                            dataLoadingComplete: true //把“没有数据”设为true，显示 
                        });
                    } else {
                        that.setData({
                            noDataType: 2,
                            goodsList: that.data.goodsList, //获取数据数组 
                            dataLoadingComplete: true //把“没有数据”设为true，显示 
                        });
                    }
                }
            } else {
                wx.showToast({
                    title: res.msg,
                })
            }
        }, function (res) {
            wx.showToast({
                title: '加载数据失败',
            })
        })
    },

    toGoodsDetail: function(e) {
        var _goodsId = e.currentTarget.dataset.goodsid;
        wx.navigateTo({
            url: '../goodsDetail/goodsDetail?goodsId=' + _goodsId,
        })
    }
})